\subsection{TAD \tadNombre{itListaTags}}

\begin{tad}{\tadNombre{itListaTags}}
\tadGeneros{itListaTags}
\tadUsa{\tadNombre{Fecha, Lista(Tag), Tag}}
\tadIgualdadObservacional{it_1}{it_2}{itListaTags}{$Siguientes(it_1) \igobs Siguientes(it_2)$}
\tadAlinearFunciones{crearItTags}{listaOrd(puntero(mensaje)),nat}
%\tadAlinearFunciones{\argumento $\implies$ \argumento}{bool,bool}
\tadGeneradores

\tadOperacion{crearItTags}{secu(tag), redSocial}{itListaTags}{}

\tadObservadores

\tadOperacion{Siguientes}{itListaTags}{secu(tag)}{}
\tadOperacion{redSocial}{itListaTags}{redSocial}{}

\tadOtrasOperaciones

\tadOperacion{hayMas?}{itListaTags}{bool}{}
\tadOperacion{Actual}{itListaTags /it}{puntero(mensaje)}{hayMas?(it)}
\tadOperacion{Avanzar}{itListaTags /it}{itListaTemp(puntero(mensaje))}{hayMas?(it)}

\tadAxiomas[]

\tadAxioma{redSocial(crearItTag(l,s))}{s}
\tadAxioma{Siguientes(crearItTag(l,s))}{
												\IF vac\'ia?($l$) 
												THEN \secuencia{} 
												ELSE {\IF repeticionesRecientesTag(s,prim($l$)) >\ 0 
														THEN prim($l$) \puntito Siguientes(crearItTags(fin($l$),s)) 
														ELSE Siguientes(crearItTags(fin($l$),s))
													FI} 
												FI}
\tadAxioma{hayMas?(it)}{$\neg$ vacia?(Siguientes(it))}
\tadAxioma{Actual(it)}{prim(Siguientes(it))}
\tadAxioma{Avanzar(it)}{crearItTag(fin(Siguientes(it)),redSocial(it))}

\end{tad}


